namespace Daemon.Model.Entities
{
    using System.Collections.Generic;
    using System.Linq;
    public class SearchResult<T>
    {
        public SearchResult(IQueryable<T> entities, int totalCount, int totalRecordCount = 0)
        {
            Entities = entities;
            TotalCount = totalCount;
            TotalRecordCount = totalRecordCount;
        }

        public IQueryable<T> Entities { get; private set; }

        public int TotalCount { get; private set; }

        public int TotalRecordCount { get; set; }
    }

    public class SearchResultIds<TIdentity>
    {
        public SearchResultIds(IEnumerable<TIdentity> entities, int totalCount = 0, int totalRecordCount = 0)
        {
            Entities = entities;
            TotalCount = totalCount;
            TotalRecordCount = totalRecordCount;
        }

        public IEnumerable<TIdentity> Entities { get; private set; }

        public int TotalCount { get; private set; }

        public int TotalRecordCount { get; private set; }
    }

    public class FilterInfo
    {
        public string FieldName { get; set; }

        public string Operator { get; set; }
    }
}